Un sistema operativo è un insieme di programmi e servizi che forniscono un'interfaccia tra l'utente e l'hardware del computer. È responsabile della gestione delle risorse hardware, della fornitura di servizi di base e della facilitazione dell'esecuzione di applicazioni software.
In informatica, il kernel o nucleo è un programma situato al centro del sistema operativo che ha generalmente un controllo completo dell'intero sistema e fornisce un accesso sicuro e controllato dell'hardware ai processi in esecuzione sul computer.
Ci sono diversi tipi di kernel, ognuno funziona in modo diverso, i principali tipi sono:
In informatica il gestore della memoria è un componente del sistema operativo dedicato alla gestione della memoria primaria disponibile sul computer. Il gestore si preoccupa di allocare, deallocare e gestire la memoria che viene assegnata agli applicativi e allo stesso sistema operativo.
Tutti i moderni sistemi operativi sono dotati di memoria virtuale. Il gestore della memoria si preoccupa di decidere quali blocchi di memoria sono poco utilizzati dal sistema e quindi possono essere spostati sull'unità a disco senza deprimere eccessivamente le prestazioni del sistema.
Altri compiti importanti sono:
in memoria possono risiedere contemporaneamente processi utente e moduli sistema, è necessario evitare che, per qualsiasi malfunzionamento, dati o istruzioni di un processo possano sovrapporsi a quelle di un altro processo utente
l'operazione di allocazione deve essere invisibile al processo, il cui avanzamento deve essere indipendente dalla posizione dello spazio degli indirizzi assegnati dalla memoria. Ciò consente di rimandare in stato di disponibilità un processo e successivamente ricaricarlo in memoria in un'altra area
l'immagine di un processo è logicamente composta da sezioni (codice e dati) che, anche se fisicamente poste in aree disgiunte di memoria, devono essere viste dal processo come contigue
in un sistema multiprogrammato, più utenti possono utilizzare contemporaneamente gli stessi programmi quindi occorre un sistema che permetta di condividere il codice
La gestione dell'input/output ovvero delle periferiche di sistema è attuata attraverso il meccanismo dell'interrupt da parte delle periferiche stesse che chiamano in causa il sistema operativo il quale opererà un cambiamento di contesto
IndiceUn file system (in acronimo FS) è una struttura dati deputata alla gestione e all'archiviazione dei file su un computer. Il termine viene utilizzato anche in riferimento al file system driver, ovvero tutta quella serie di programmi solitamente integrati nel sistema operativo che sono necessari ad operare il file system.
Più formalmente, un file system è l'insieme dei tipi di dati astratti necessari per la memorizzazione, l'organizzazione gerarchica, la manipolazione, la navigazione, l'accesso e la lettura dei dati
Il secondo livello di astrazione è quello che permette di organizzare i file assegnando loro dei nomi gerarchici. I file system tipicamente hanno tabelle di associazione dei nomi dei file con i rispettivi file tramite collegamenti fisici, usualmente collegando il nome del file a un indice in una tabella di allocazione dei file di qualche genere
IndiceLa shell (detta in italiano interprete dei comandi), in informatica, è la componente fondamentale di un sistema operativo che permette all'utente il più alto livello di interazione con lo stesso. Tramite la shell è possibile impartire comandi e richiedere l'avvio di altri programmi.
In generale esistono molti tipi di shell, che si dividono principalmente in testuali e grafiche:
Una shell testuale può definirsi in due varianti. La prima è costituita da un ambiente simile alle interfacce grafiche, comprensivo quindi di finestre e pulsanti ma dall'assenza di qualsiasi componente grafica. Si utilizza tramite tastiera e, talvolta, mouse. La seconda è un programma dotato di un'interfaccia a riga di comando, che viene eseguito all'interno di un terminale testuale. L'utente digita un comando, ovvero richiede l'esecuzione di un programma, e il programma eseguito può interagire con l'utente o mostrare dati sul terminale.
L'evoluzione grafica delle shell è rappresentata dalle cosiddette interfacce grafiche o GUI (Graphic User Interface), che hanno una rappresentazione dei dati pensata per essere molto più vicina al modo di percepire il mondo da parte degli esseri umani e quindi più facile da usare. Con le GUI il computer e il suo contenuto non sono più rappresentati da linee di testo, ma da icone e finestre che permettono di fare operazioni complesse con un clic del mouse.
I software applicativi sono programmi informatici (software) sviluppati per eseguire determinati compiti e supportare le persone e specifici task (operazioni). In parole più semplici, sono programmi che consentono alle persone di svolgere attività ed azioni ben specifiche.
Sviluppati per risolvere una o più specifiche esigenze dell’utente, i software applicativi possono disponibili attraverso varie licenze d’uso.
prevedono di norma l’acquisto una tantum di una determinata versione di software, che offre il diritto agli aggiornamenti almeno fino al rilascio della versione successiva.
prevedono il pagamento di un importo che consente di utilizzare il software per un determinato periodo di tempo, senza garantire all’acquirente una licenza perpetua.
è di base gratuito, ma oltre un certo periodo può richiedere il pagamento di una quota per continuare ad utilizzarlo o godere di tutte le funzioni. In altre formule può essere richiesta una semplice donazione libera.
open source, liberamente scaricabile e modificabile
open source, liberamente scaricabile ma modificabile secondo le condizioni di licenza, solitamente finalizzate a far crescere il software in maniera collaborativa
Indice